import { Fragment } from '@/components/Fragment';
import { ResponsiveTable, ResponsiveTableCell } from '@/components/ResponsiveTable';
import { TableCell, TableBody, TableHead, TableRow, Alert } from '@aws-amplify/ui-react';
## Override Function Calls
You can override the call to `signUp`, `signIn`, `confirmSignIn`, `confirmSignUp`, `forgotPassword` and `forgotPasswordSubmit` functions.
To override a call you must create a new `services` object with an `async` `handle*` function that returns an `aws-amplify` `Auth.*` promise.
The service object must then be passed into the `authenticator` component as a `services` prop. For example, let's imagine you'd like to lowercase the `username` and the `email` attributes during `signUp`.
This would be overriden like so:
When overriding `signUp` you must include the `autoSignIn` key and set `enabled` to true, as show in the example below.
{({ platform }) => import(`./overrides/username.${platform}.mdx`)}
Each `handle*` function will return the neccessary values you'll need to make the call to the `Auth.*` function call. Here is a table of each override function name, and the values returned from `formData`.
Function Call
Override Name
formData Properties
`Auth.signUp`
`handleSignUp`
`{username, password, attributes }`
`Auth.signIn`
`handleSignIn`
`{username, password}`
`Auth.confirmSignIn`
`handleConfirmSignIn`
`{user, code, mfaType}`
`Auth.confirmSignUp`
`handleConfirmSignUp`
`{username, code}`
`Auth.forgotPassword`
`handleForgotPassword`
`{username}`
`Auth.forgotPasswordSubmit`
`handleForgotPasswordSubmit`
`{username, code, password}`